setTimeout(() => {
    console.log("time1");
    setTimeout(() => {
        console.log("time3");
    }, 0);

    new Promise((resolve) => {
        resolve();
        console.log("new resolve");
    }).then(() => {
        console.log("Promise then");
    });
}, 0);

setTimeout(() => {
    console.log("time2");
}, 0);

console.log("main");
 //  求解，执行顺序的原理？？？